package com.googlecode.afdbaccess.web.common.servletfilter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class LatencyFilter implements Filter {
    private long latency;
    
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        try {
            Thread.sleep(latency);
        } catch (InterruptedException exception) {
            throw new ServletException(exception);
        }
        
        chain.doFilter(req, res);
    }

    @Override
    public void init(FilterConfig config) throws ServletException {
        latency = Long.parseLong(config.getInitParameter("latency"));
    }
    
    @Override
    public void destroy() {
        // do nothing
    }
}